import axios from "axios";
import NProgress from "nprogress";
import "nprogress/nprogress.css";

const request = axios.create({
    baseURL: "/mock",
    timeout: 20000,
});

request.interceptors.request.use(
    (config) => {
        NProgress.start();
        return config;
    }
    // 失败的回调函数
    // () => {}
);
// 响应拦截器
request.interceptors.response.use(
    // 成功的回调函数
    (response) => {
        // 请求成功 2xx
        NProgress.done();
        // 功能可能是失败
        if (response.data.code === 200) {
            // 功能成功
            return response.data.data;
        } else {
            // 功能失败
            return Promise.reject(response.data.message || "未知错误，请联系网管");
        }
    },
    // 失败的回调函数
    (error) => {
        NProgress.done();
        console.dir(error);
        // 请求失败
        return Promise.reject(error.message);
    }
);

export default request;